// 异步函数:自动隐式转换返回Promise
/**
 * 
 * @param {*} param0  对象Object{url,method,data,header}
 */
// 请求的基础地质
const BASE_URL = "https://api-ugo-dev.itheima.net/api/public/v1"
export default async function myRequest({url,method,data,header}) {
    // 1.请求之前显示loading
    uni.showLoading ({
        title: '请求中...',
        mask: true
    })

    // 2.开始请求
    const[err,res] = await uni.request ({
        url:BASE_URL + url,
        data,
        method,
        header
    })

      //  关闭loading
    uni.hideLoading();

    if(!err) {
       // 返回需要的数据
       const {data:{message,meta}} = res
        return {
            msg: meta,
            data: message 
        }
    }else {
        return err
    }

  
}

// vue 插件
const MyPlug = {
    install (vue) {
        // 挂载到原型
        vue.prototype.request = myRequest
    }
}

export { MyPlug }